package com.shujia

object Demo12Fun2 {
  def main(args: Array[String]): Unit = {

    /**
      * 函数简写
      * 1、如果最后一行作为返回值。return可以省略
      * 2、如果函数内代码只有一行括号可以省略
      * 3、返回值类型可以不写，会自动推断
      * 4、如果参数列表为空  ()  可以不写
      */

    def fun1(i: Int): Int = {

      //如果最后一行作为返回值。return可以省略
      return i * i
    }


    def fun2(i: Int): Int = i * i

    println(fun2(100))


    val testFun: TestFun = new TestFun

    val i: Int = testFun.fun(100)

    //简化函数调用
    val j: Int = testFun fun 100


  }
}

class TestFun() {

  /**
    * 定义在类中的函数不能直接调用
    *
    */
  def fun(i: Int): Int = {
    i * i
  }

}

